import os

from celery import Celery, platforms
from celery.schedules import crontab

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'books.settings')
# 这里的mall在启动任务时需要用到，可以改为项目名
book = Celery('books',
              broker='redis://127.0.0.1:6379/1',  # 任务存放的地方
              backend='redis://127.0.0.1:6379/15')

book.config_from_object('django.conf:settings')

# 定义定时任务
book.conf.beat_schedule = {
    'send-daily-notifications': {
        'task': 'book.tasks.check_to_books',
        'schedule': crontab(hour='16', minute='53'),  # 每天 08:00 执行
    },
}


# 自动发现任务并执行
book.autodiscover_tasks()


# 允许以 root 用户身份启动 Celery Worker 进程
platforms.C_FORCE_ROOT = True

